package cn.bugstack.domain.strategy.service;

import cn.bugstack.domain.strategy.model.valobj.StrategyAwardStockKeyVO;

/**
 * @Author: Zchy
 * @Description: 抽奖库存相关服务，获取库存消耗队列
 * @DateTime: 11/18/2024 4:38 PM
 **/
public interface IRaffleStock {
    /*
     * 获取奖品库存消耗队列
     *       
     * @author: Zchy
     * @date: 11/18/2024 4:39 PM  
     * @return: cn.bugstack.domain.strategy.model.valobj.StrategyAwardStockKeyVO
    **/
    StrategyAwardStockKeyVO takeQueueValue() throws InterruptedException;
    
    /*
     * 更新奖品库存消耗记录
     *       
     * @author: Zchy
     * @date: 11/18/2024 4:41 PM 
     * @param: strategyId
     * @param: awardId
    **/
    void updateStrategyAwardStock(Long strategyId, Integer awardId);
}
